জাভাস্ক্রিপ্ট অ্যারো ফাংশন (JS Arrow Function)

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট ব্যাসিক (JS Basic Tutorial) |
302
302

জাভাস্ক্রিপ্টে অ্যারো ফাংশন (Arrow Function) একটি সংক্ষিপ্ত সিনট্যাক্সে ফাংশন ডিফাইন করার পদ্ধতি। এটি ES6 (ECMAScript 2015) থেকে পরিচিত এবং কোডের গঠন সহজ এবং পরিষ্কার করে। অ্যারো ফাংশনের মূল সুবিধা হলো এর সিম্পল সিনট্যাক্স এবং this কিওয়ার্ডের আচরণের পরিবর্তন।


অ্যারো ফাংশনের সিনট্যাক্স

অ্যারো ফাংশন সাধারণ ফাংশনের চেয়ে কম লাইন কোডে লেখা যায়। এর সঠিক সিনট্যাক্স নিচে দেখানো হলো:

const functionName = (parameters) => {
    // function body
}

এখানে:

  • functionName: ফাংশনের নাম (যদি দরকার হয়)।
  • parameters: ফাংশনে পাস করা আর্গুমেন্টগুলো (যদি থাকে)।
  • =>: অ্যারো অপারেটর, যা ফাংশনের ডিফিনিশন শুরু করে।

একটি সাদাসিধে উদাহরণ:

const greet = (name) => {
    return `Hello, ${name}!`;
};

console.log(greet("Alice"));  // আউটপুট: Hello, Alice!

এখানে greet একটি অ্যারো ফাংশন যেটি একটি প্যারামিটার name নেয় এবং একটি স্ট্রিং রিটার্ন করে।


অ্যারো ফাংশনের সুবিধা

সংক্ষিপ্ত সিনট্যাক্স

অ্যারো ফাংশন সাধারণ ফাংশনের তুলনায় আরো কম লাইনে কোড লেখা সম্ভব। এর ফলে কোড আরো সহজে পড়া এবং বুঝতে সুবিধা হয়।

// সাধারণ ফাংশন:
const sum = function(a, b) {
    return a + b;
};

// অ্যারো ফাংশন:
const sum = (a, b) => a + b;

এখানে অ্যারো ফাংশনটি সংক্ষিপ্ত এবং পরিষ্কার।


this কিওয়ার্ডের ব্যবহার

অ্যারো ফাংশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এটি নিজস্ব this কিওয়ার্ড রাখে না। পরিবর্তে, এটি বাইরের কনটেক্সট থেকে this গ্রহণ করে। সাধারণ ফাংশনে this গ্লোবাল অবজেক্ট বা নির্দিষ্ট কনটেক্সটের উপর নির্ভর করে, কিন্তু অ্যারো ফাংশনে this সর্বদা তার আউটারে থাকা কনটেক্সটের this কে নির্দেশ করে।

সাধারণ ফাংশন:

function showThis() {
    console.log(this);  // এখানে 'this' গ্লোবাল অবজেক্ট হতে পারে
}

showThis();

অ্যারো ফাংশন:

const showThis = () => {
    console.log(this);  // এখানে 'this' বাইরের কনটেক্সটের 'this' কে নির্দেশ করবে
};

showThis();

এখানে, অ্যারো ফাংশনটি this কিওয়ার্ডের আচরণ পরিবর্তন করে, যেটি বাইরের কনটেক্সট থেকে ঐক্যবদ্ধ থাকে। এই কারণে, অ্যারো ফাংশন ইভেন্ট হ্যান্ডলার বা কলব্যাক ফাংশনগুলিতে কার্যকরী হতে পারে।


একক এক্সপ্রেশন রিটার্ন

যদি অ্যারো ফাংশনটি একটি একক এক্সপ্রেশন রিটার্ন করে, তাহলে return কিওয়ার্ড ব্যবহার করার দরকার হয় না। ফাংশন স্বয়ংক্রিয়ভাবে এক্সপ্রেশনটির মান রিটার্ন করে।

const add = (a, b) => a + b;
console.log(add(3, 4));  // আউটপুট: 7

এখানে, অ্যারো ফাংশনটি স্বয়ংক্রিয়ভাবে a + b এর মান রিটার্ন করবে, কারণ এটি একটি একক এক্সপ্রেশন।


একক প্যারামিটার

যদি অ্যারো ফাংশনে একটি মাত্র প্যারামিটার থাকে, তাহলে প্যারামিটারটি প্যারেন্টেসিসের (ব্র্যাকেট) ভিতরে দেওয়ার প্রয়োজন নেই। এটি স্বয়ংক্রিয়ভাবে ওই একক প্যারামিটারকে গ্রহণ করে।

const square = x => x * x;
console.log(square(5));  // আউটপুট: 25

এখানে, একমাত্র প্যারামিটার x এর জন্য প্যারেন্টেসিস (ব্র্যাকেট) ব্যবহার করা হয়নি, কারণ এটি একক প্যারামিটার।


অ্যারো ফাংশনের সীমাবদ্ধতা

কনস্ট্রাক্টর ফাংশন হিসেবে ব্যবহার করা যায় না

অ্যারো ফাংশন কনস্ট্রাক্টর ফাংশন হিসেবে ব্যবহৃত হতে পারে না, অর্থাৎ new কিওয়ার্ডের মাধ্যমে অ্যারো ফাংশন দিয়ে নতুন অবজেক্ট তৈরি করা সম্ভব নয়।

const Person = (name, age) => {
    this.name = name;
    this.age = age;
};

const person1 = new Person("John", 30);  // TypeError: Person is not a constructor

এখানে, Person অ্যারো ফাংশনটি কনস্ট্রাক্টর হিসেবে কাজ করবে না, কারণ এটি this কিওয়ার্ডের মানের জন্য আলাদা আচরণ করে।


arguments অবজেক্ট নেই

অ্যারো ফাংশনে arguments অবজেক্টের ব্যবহারের সুযোগ নেই, যা সাধারণ ফাংশনে প্যারামিটারগুলো দেখতে ব্যবহৃত হয়। অ্যারো ফাংশনে যদি arguments ব্যবহার করতে হয়, তবে তা সংজ্ঞায়িত করা যাবে না।

const sum = () => {
    console.log(arguments);  // ReferenceError: arguments is not defined
};

sum(1, 2, 3);  // Error

এখানে, arguments ব্যবহার করলে ত্রুটি হবে কারণ অ্যারো ফাংশনে এটি উপলব্ধ নেই।


সারাংশ

অ্যারো ফাংশন জাভাস্ক্রিপ্টের একটি শক্তিশালী বৈশিষ্ট্য যা সংক্ষিপ্ত সিনট্যাক্সে ফাংশন লেখার সুবিধা প্রদান করে। এটি this কিওয়ার্ডের আচরণকে পরিবর্তন করে এবং কোডের গঠন সহজ করে তোলে। অ্যারো ফাংশন সাধারণত ছোট এবং একক এক্সপ্রেশন রিটার্নিং ফাংশনগুলির জন্য ব্যবহৃত হয়, কিন্তু এটি কনস্ট্রাক্টর ফাংশন হিসেবে বা arguments অবজেক্টের সাথে ব্যবহৃত হতে পারে না।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion